﻿Imports DAO
Imports DTO
Imports System.Text

Public Class NhanVienBUS

    Dim ngon As Integer = NgonNgu.ngon

    '' '' lấy toàn bộ nhân viên đưa lên DataGirdView
    Public Function LayNhanVien() As DataTable
        Dim dt As New DataTable
        Dim nvDAO As New NhanVienDAO
        dt = nvDAO.LayDanhSachNhanVien()
        Return dt
    End Function
    ' ' ' 
    Public Sub KiemTra(ByVal nv As NhanVienDTO)
      
        If nv.LayPass.Length < 6 Then
            If ngon = 0 Then
                Throw New Exception("Mật khẩu phải nhiều hơn 5 kí tự")
            Else
                Throw New Exception("  Password must be more than 5 characters")
            End If
        End If

        If nv.LaySDT.Length > 15 Then
            If ngon = 0 Then
                Throw New Exception("Số điện thoại phải ít hơn 15 số." & Chr(13) & "vui lòng kiểm tra lại")
                ' 
            Else
                Throw New Exception("phone number are less than 15 numbers" & Chr(13) & "please check")
            End If

        End If
        If nv.LaySDT.Length < 8 Then
            If ngon = 0 Then
                Throw New Exception("Số điện thoại phải nhiều hơn 8 số." & Chr(13) & "vui lòng kiểm tra lại")
                ' 
            Else
                Throw New Exception("phone number are more than 8 numbers." & Chr(13) & "please check")
            End If

        End If
    End Sub
    ' ' ' ' Thêm 1 nhân viên 
    Public Sub ThemNhanVien(ByVal nv As NhanVienDTO)
        ' ' kiểm tra không cho 1 số thuộc tính rỗng



        KiemTra(nv)
        ' ' '  Kiểm tra xem UserName đã tồn tại chưa
        Dim kt As New DataTable
        kt = LayNhanVien()
        For i As Integer = 0 To kt.Rows.Count - 1
            Dim dr As DataRow = kt.Rows(i)
            If dr.Item("UserName") = nv.laytenDN.ToString() Then
                If ngon = 0 Then
                    Throw New Exception("Tên đăng nhập đã tồn tại")
                Else
                    Throw New Exception("Username already exists")
                End If

            End If
        Next
        ' ' ' ' Kiểm tra mật khẩu có giống nhau không
        If nv.LayPass <> nv.LayPass_Confirm Then
            If ngon = 0 Then
                Throw New Exception("Mật khẩu không giống nhau")
            Else
                Throw New Exception("Not the same password")
            End If
            '
        End If

        Dim nhanvien As New NhanVienDAO()
        nhanvien.ThemNhanVien(nv)

        ' '' ''kiem tra nhan vien ton tai chua
    End Sub

    Public Sub XoaNhanVien(ByVal nv As NhanVienDTO)
        Try
            ' kiểm tra tính hợp lệ khi nhập 1 nhân viên    
            Dim nhanvien As New NhanVienDAO()
            nhanvien.XoaNhanVien(nv)
        Catch ex As Exception

        End Try
    End Sub

    Public Sub CapNhatNhanVien(ByVal nv As NhanVienDTO)
        ' chưa kiểm tra 
        Dim nhanvien As New NhanVienDAO
        nhanvien.CapNhatNhanVien(nv)
    End Sub

    Public Function TimKiem(ByVal s As String) As DataTable
        Dim dt As New DataTable
        Dim kt As New NhanVienDAO
        dt = kt.TimKiemNhanVien(s)
        If dt.Rows.Count = 0 Then
            dt = kt.TimTheoDiaChi(s)           
        End If
        Return dt
    End Function

End Class
